/*
 * CallInstruction.h
 *
 *  Created on: 17/nov/2010
 *      Author: computer
 */

#ifndef CALLINSTRUCTION_H_
#define CALLINSTRUCTION_H_
#include "Expression.h"
#include "FlowExpression.h"

namespace TreeExpression {

class CallInstruction : public FlowExpression, public Expression_CRTP<CallInstruction> {
public:
	CallInstruction(const std::string&);
	CallInstruction(const CallInstruction&);
	~CallInstruction();

	virtual AutoPointer<Expression> eval(CopyPointer<Context>&);
	virtual std::string toString() const;
private:
	std::string name;
};

}

#endif /* CALLINSTRUCTION_H_ */
